//接口
interface phoneInter {
    phone:string,
    can:string,//验证码
}

//随机浮点数
function getRandomFloatInRange(min: number, max: number): number {
    return Math.random() * (max - min) + min;
}
//随机四位整数
function getRandomFourDigitInt(): number {
    return Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000;
}

//导出can信息
export let canMes:number = 0



//只有注册账号才能使用(模拟手机短信发送(因为真正的短信发送要钱))
export default defineEventHandler(async(event:any)=>{
    const phoneReg:any = /^1[3456789]\d{9}$/    //正则表达式(判断是否是中国号码)
    try{
        const {phone,can}:phoneInter = await readBody(event) //获取body中的参数,注意一定是要异步(async&await)
        // console.log(phone) //打印是否接收到字符串
        const phoneIsChina = phoneReg.test(phone) //确认是否是中国电话号码
        // console.log(phoneIsChina) //打印是否是中国电话号码。true&false
        if(phoneIsChina){ //为true(是中国号码则)
            const phoneCan = getRandomFourDigitInt() //生成一个随机的四位数
            canMes = phoneCan //将随机数给到别人来做判断使用
            return {
                status: 200,
                message: {
                    phone: phone,
                    can: phoneCan
                }
            }
        }else{ //不是中国号码，则返回以下值
            return {
                status: 404,
                message:"不是中国的号码,暂时未开放"
            }
        }
        
    }catch(err:any){//出现错误(不是号码等)返回以下值
        return{ 
            status: 500,
            message: "error:unknow.this is phone?"
        }
    }
})